<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <style type="text/css">
    <!--
        h3.tighter {
            margin-top: 0px;
        }
        p.hang {
            padding-left: 25px;
            text-indent: -25px;
            margin-top: 0px;
            margin-bottom: 0px;
        }
        p.in1 {
            padding-left: 0px;
        }
        p.tightin1 {
            padding-left: 0px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin1 {
            padding-left: 0px;
            margin-bottom: 2px;
        }
        p.hangingin1 {
            padding-left: 50px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in2 {
            padding-left: 25px;
        }
        p.tightin2 {
            padding-left: 25px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin2 {
            padding-left: 25px;
            margin-bottom: 2px;
        }
        p.hangingin2 {
            padding-left: 75px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in3 {
            padding-left: 50px;
        }
        p.tightin3 {
            padding-left: 50px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin3 {
            padding-left: 50px;
            margin-bottom: 2px;
        }
        p.hangingin3 {
            padding-left: 100px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in4 {
            padding-left: 75px;
        }
        p.tightin4 {
            padding-left: 75px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin4 {
            padding-left: 75px;
            margin-bottom: 2px;
        }
        p.hangingin4 {
            padding-left: 125px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in5 {
            padding-left: 100px;
        }
        p.tightin5 {
            padding-left: 100px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin5 {
            padding-left: 100px;
            margin-bottom: 2px;
        }
        p.hangingin5 {
            padding-left: 150px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in6 {
            padding-left: 125px;
        }
        p.tightin6 {
            padding-left: 125px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin6 {
            padding-left: 125px;
            margin-bottom: 2px;
        }
        p.hangingin6 {
            padding-left: 175px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in7 {
            padding-left: 150px;
        }
        p.tightin7 {
            padding-left: 150px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin7 {
            padding-left: 150px;
            margin-bottom: 2px;
        }
        p.hangingin7 {
            padding-left: 200px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in8 {
            padding-left: 175px;
        }
        p.tightin8 {
            padding-left: 175px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin8 {
            padding-left: 175px;
            margin-bottom: 2px;
        }
        p.hangingin8 {
            padding-left: 225px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in9 {
            padding-left: 200px;
        }
        p.tightin9 {
            padding-left: 200px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin9 {
            padding-left: 200px;
            margin-bottom: 2px;
        }
        p.hangingin9 {
            padding-left: 250px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        div.hr {
            border: 0;
            width: 100%;
            color: #707070;
            background-color: #707070;
            height: 5px;
        }
    -->
</style>
<script type="text/javascript">
    function showExtra(id, imid) {
        if (document.getElementById(id).style.display == 'block') {
            document.getElementById(id).style.display = 'none';
            document.getElementById(imid).src = 'inform:/extra.png';
        } else {
            document.getElementById(id).style.display = 'block';
            document.getElementById(imid).src = 'inform:/extraclose.png';
        }
    }
</script>
</head>
<body><font size=2>
<!--CONTENT BEGINS-->
<!--NAVIGATION BEGINS-->
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #e0e0e0"><tr><td width="8"><img src="inform:/tl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td><td></td><td width="8"><img src="inform:/tr_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td></tr><tr><td width="8"></td><td><font size=2><table border="0" cellspacing="0" cellpadding="0" width=100%><tr><td align="left" valign="top" width="72"><font size=2><img border=1 src=inform:/doc_images/Actions.png title="The Actions Index"> &nbsp;&nbsp;&nbsp;&nbsp;</font></td><td align="left" valign="top"><font size=2><h3 class="tighter"><b>Actions</b>: Detail view&nbsp;&nbsp;<a href=../Actions.html><font color="#002060"><i>Back to full view</i></font></a></h3><p>
<p class="tightin1">A single action in detail.<br><i>About the action rulebooks&nbsp;&nbsp;<a href=inform:/doc188.html><img border=0 src=inform:/help.png></a></i></p>
</font></td></tr></table></font></td><td width="8"></td></tr><tr><td width="8"><img src="inform:/bl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td><td></td><td width="8"><img src="inform:/br_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td></tr></table></p><p>
<!--NAVIGATION ENDS-->
<b>Standard actions which change the state of things</b><br>Locking it with&nbsp;<a href=16_A.html><img border=0 src=inform:/Beneath.png></a>, Unlocking it with&nbsp;<a href=17_A.html><img border=0 src=inform:/Beneath.png></a>, Switching on&nbsp;<a href=18_A.html><img border=0 src=inform:/Beneath.png></a>, Switching off&nbsp;<a href=19_A.html><img border=0 src=inform:/Beneath.png></a>, <b>Opening</b>&nbsp;<a href=20_A.html><img border=0 src=inform:/Beneath.png></a>, Closing&nbsp;<a href=21_A.html><img border=0 src=inform:/Beneath.png></a>, Wearing&nbsp;<a href=22_A.html><img border=0 src=inform:/Beneath.png></a>, Taking off&nbsp;<a href=23_A.html><img border=0 src=inform:/Beneath.png></a><p><hr><p><b>Opening <font color="#000080">something</font> </b><a name=Open></a> (<i>past tense</i> opened)<br>
<p>Opening makes something no longer
a physical barrier. The action can be performed on any kind of thing which
provides the either/or properties openable and open. The 'can't open unless
openable rule' tests to see if the noun both can be and actually is openable.
(It is assumed that anything which can be openable can also be open.)
In the Standard Rules, the container and door kinds both satisfy these
requirements.<br><br>In the event that the thing to be opened is also lockable, we are forbidden
to open it when it is locked. Both containers and doors can be lockable,
but the opening and closing actions would also work fine with kinds which
cannot be.<br><br>We can create a new kind on which opening and closing will work thus:
'A case file is a kind of thing. A case file can be openable.
A case file can be open. A case file is usually openable and closed.'<br><br>The meaning of open and closed is different for different kinds of thing.
When a container is closed, that means people outside cannot reach in,
and vice versa; when a door is closed, people cannot use the 'going' action
to pass through it. If we were to create a new kind such as 'case file',
we would also need to write rules to make the open and closed properties
interesting for this kind.<p><hr><p><b>Typed commands leading to this action</b><p>
<p class="hangingin2">&quot;open [something]&quot;</p><p><b>Rules controlling this action</b><p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">can't open unless openable rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1682(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('can[=0x0027=]t open unless openable rule');
}
</script>
<a href="javascript:pasteCode1682()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1683(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The can[=0x0027=]t open unless openable rule is not listed in the check opening rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1683()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">can't open what's locked rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1684(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('can[=0x0027=]t open what[=0x0027=]s locked rule');
}
</script>
<a href="javascript:pasteCode1684()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1685(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The can[=0x0027=]t open what[=0x0027=]s locked rule is not listed in the check opening rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1685()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">can't open what's already open rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1686(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('can[=0x0027=]t open what[=0x0027=]s already open rule');
}
</script>
<a href="javascript:pasteCode1686()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1687(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The can[=0x0027=]t open what[=0x0027=]s already open rule is not listed in the check opening rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1687()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p class="hangingin2">carry out&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">standard opening rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1688(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('standard opening rule');
}
</script>
<a href="javascript:pasteCode1688()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1689(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The standard opening rule is not listed in the carry out opening rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1689()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p class="hangingin2">report&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">reveal any newly visible interior rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1690(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('reveal any newly visible interior rule');
}
</script>
<a href="javascript:pasteCode1690()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1691(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The reveal any newly visible interior rule is not listed in the report opening rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1691()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">report&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">standard report opening rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1692(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('standard report opening rule');
}
</script>
<a href="javascript:pasteCode1692()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1693(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The standard report opening rule is not listed in the report opening rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1693()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p>
<!--CONTENT ENDS-->
</font></body></html>